/**
 * 
 */
package algorithm;

import java.awt.List;
import java.util.Date;

import entities.*;
import exceptions.IllegalAppointmentException;
import exceptions.KeinFreierTermin;

/**
 * @author veit
 * 
 */
public interface AlgorithmFace {
/**
 * Sortiert nach Algorithmus vielleicht ENUMs erstellen sodass eine Klasse alle
 * Algorithmen verwenden kann und es dem User moeglich macht aus zu waehlen
 * welchen er verwenden will
 * 
 * @param c
 * @return boolean true if success false if error
 */
/* depricated
 * public boolean rescheduleCalender(Calendar c);
 */

/**
 * 
 * @param a
 * @return boolean true if success false if error
 * @throws IllegalAppointmentException 
 * @throws KeinFreierTermin 
 */
public boolean rescheduleAppointments(Date von, Date bis,
		java.util.List<Appointment> appointmentsToReschedule) throws IllegalAppointmentException, KeinFreierTermin;
}
